package com.gdufe.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gdufe.product.dto.PageProductDto;
import com.gdufe.product.dto.ProductDto;
import com.gdufe.product.dto.ProductStatusDto;
import com.gdufe.common.vo.PageBeanVo;
import com.gdufe.common.entity.Product;
import com.gdufe.product.vo.ProductsVo;

import java.util.List;

public interface ProductAdminService extends IService<Product> {

    /**
     * 条件分页查询
     *
     * @param pageProductDto
     * @return
     */
    PageBeanVo<Product> pageQuery(PageProductDto pageProductDto);

    /**
     * 根据id修改商品状态
     *
     * @param productStatusDto
     */
    void updateStatus(ProductStatusDto productStatusDto);

    /**
     * 新增商品
     *
     * @param productDto
     */
    void insert(ProductDto productDto);

    /**
     * 根据id删除商品
     *
     * @param id
     */
    void delete(Long id);

    /**
     * 批量删除商品
     *
     * @param ids
     */
    void deleteBatch(List<Long> ids);

    /**
     * 修改商品信息
     *
     * @param productDto
     */
    void alter(ProductDto productDto);

    List<ProductsVo> getPros();
}
